/**
 * 简历分析报告脚本
 * 负责图表渲染、交互功能和动态效果
 */

document.addEventListener('DOMContentLoaded', function() {
    // 初始化用户下拉菜单
    initUserDropdown();
    
    // 初始化工具提示
    initTooltips();
    
    // 初始化改进示例切换
    initBeforeAfterToggle();
    
    // 渲染图表
    renderCharts();
    
    // 初始化AI优化选项
    initOptimizationOptions();
});

/**
 * 初始化用户下拉菜单
 */
function initUserDropdown() {
    const userDropdownBtn = document.querySelector('.user-dropdown-btn');
    const dropdownMenu = document.querySelector('.dropdown-menu');
    
    if (userDropdownBtn && dropdownMenu) {
        userDropdownBtn.addEventListener('click', function(e) {
            e.stopPropagation();
            dropdownMenu.classList.toggle('active');
        });
        
        // 点击页面其他区域关闭下拉菜单
        document.addEventListener('click', function() {
            dropdownMenu.classList.remove('active');
        });
    }
    
    // 移动端菜单切换
    const mobileMenuToggle = document.querySelector('.mobile-menu-toggle');
    const mainNav = document.querySelector('.main-nav');
    
    if (mobileMenuToggle && mainNav) {
        mobileMenuToggle.addEventListener('click', function() {
            mobileMenuToggle.classList.toggle('active');
            mainNav.classList.toggle('active');
        });
    }
}

/**
 * 初始化工具提示
 */
function initTooltips() {
    // 工具提示已通过CSS实现，这里可以添加额外的交互逻辑
    const tooltips = document.querySelectorAll('.section-tooltip');
    
    tooltips.forEach(tooltip => {
        // 可以添加点击事件显示更详细的信息
        tooltip.addEventListener('click', function() {
            // 这里可以实现点击显示更详细的提示信息
            // 例如显示一个模态框或者展开更多内容
        });
    });
}

/**
 * 初始化改进示例切换
 */
function initBeforeAfterToggle() {
    const toggleBtns = document.querySelectorAll('.toggle-btn');
    
    toggleBtns.forEach(btn => {
        const content = btn.closest('.before-after-header').nextElementSibling;
        
        // 初始状态隐藏内容
        if (content) {
            content.style.display = 'none';
        }
        
        btn.addEventListener('click', function() {
            if (content) {
                if (content.style.display === 'none') {
                    content.style.display = 'flex';
                    btn.textContent = '隐藏示例';
                } else {
                    content.style.display = 'none';
                    btn.textContent = '查看示例';
                }
            }
        });
    });
}

/**
 * 渲染图表
 */
function renderCharts() {
    // 行业匹配度雷达图
    renderIndustryChart();
    
    // 竞争力对比图
    renderComparisonChart();
}

/**
 * 渲染行业匹配度雷达图
 */
function renderIndustryChart() {
    const ctx = document.getElementById('industryChart');
    
    if (!ctx) return;
    
    // 检查Chart.js是否已加载
    if (typeof Chart === 'undefined') {
        console.error('Chart.js 未加载');
        return;
    }
    
    new Chart(ctx, {
        type: 'radar',
        data: {
            labels: ['产品规划', '用户研究', '数据分析', '项目管理', '沟通协作', '技术理解'],
            datasets: [{
                label: '您的简历',
                data: [85, 65, 70, 90, 80, 75],
                backgroundColor: 'rgba(74, 108, 247, 0.2)',
                borderColor: 'rgba(74, 108, 247, 1)',
                pointBackgroundColor: 'rgba(74, 108, 247, 1)',
                pointBorderColor: '#fff',
                pointHoverBackgroundColor: '#fff',
                pointHoverBorderColor: 'rgba(74, 108, 247, 1)'
            }, {
                label: '行业平均',
                data: [70, 75, 80, 65, 70, 60],
                backgroundColor: 'rgba(255, 193, 7, 0.2)',
                borderColor: 'rgba(255, 193, 7, 1)',
                pointBackgroundColor: 'rgba(255, 193, 7, 1)',
                pointBorderColor: '#fff',
                pointHoverBackgroundColor: '#fff',
                pointHoverBorderColor: 'rgba(255, 193, 7, 1)'
            }]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false,
            scales: {
                r: {
                    angleLines: {
                        display: true
                    },
                    suggestedMin: 0,
                    suggestedMax: 100
                }
            }
        }
    });
}

/**
 * 渲染竞争力对比图
 */
function renderComparisonChart() {
    const ctx = document.getElementById('comparisonChart');
    
    if (!ctx) return;
    
    // 检查Chart.js是否已加载
    if (typeof Chart === 'undefined') {
        console.error('Chart.js 未加载');
        return;
    }
    
    new Chart(ctx, {
        type: 'bar',
        data: {
            labels: ['内容完整性', '专业相关性', '成就展示', '关键词优化', '格式布局', '整体印象'],
            datasets: [{
                label: '您的简历',
                data: [85, 80, 65, 70, 90, 75],
                backgroundColor: 'rgba(74, 108, 247, 0.8)'
            }, {
                label: '行业平均水平',
                data: [70, 65, 60, 65, 75, 65],
                backgroundColor: 'rgba(255, 193, 7, 0.8)'
            }, {
                label: '顶尖简历',
                data: [95, 90, 85, 90, 95, 90],
                backgroundColor: 'rgba(40, 167, 69, 0.8)'
            }]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false,
            scales: {
                y: {
                    beginAtZero: true,
                    max: 100
                }
            },
            plugins: {
                legend: {
                    position: 'bottom'
                }
            }
        }
    });
}

/**
 * 初始化AI优化选项
 */
function initOptimizationOptions() {
    const optimizeBtn = document.querySelector('.ai-optimization .btn-primary');
    
    if (optimizeBtn) {
        optimizeBtn.addEventListener('click', function() {
            // 获取选中的优化选项
            const options = [];
            document.querySelectorAll('.optimization-option input:checked').forEach(input => {
                options.push(input.id);
            });
            
            if (options.length === 0) {
                showToast('请至少选择一项优化选项', 'warning');
                return;
            }
            
            // 模拟优化过程
            showToast('正在应用AI优化...', 'info');
            
            // 模拟优化完成
            setTimeout(() => {
                showToast('AI优化已完成，请查看优化后的简历', 'success');
                
                // 这里可以添加跳转到优化后的简历页面的逻辑
                // window.location.href = 'optimized-resume.html';
            }, 2000);
        });
    }
}

/**
 * 显示提示消息
 * @param {string} message - 消息内容
 * @param {string} type - 消息类型：success, warning, error, info
 */
function showToast(message, type = 'info') {
    // 检查是否已存在toast容器
    let toastContainer = document.querySelector('.toast-container');
    
    if (!toastContainer) {
        toastContainer = document.createElement('div');
        toastContainer.className = 'toast-container';
        document.body.appendChild(toastContainer);
        
        // 添加样式
        const style = document.createElement('style');
        style.textContent = `
            .toast-container {
                position: fixed;
                top: 20px;
                right: 20px;
                z-index: 9999;
            }
            .toast {
                padding: 12px 20px;
                margin-bottom: 10px;
                border-radius: 4px;
                color: white;
                font-size: 14px;
                max-width: 300px;
                box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
                display: flex;
                align-items: center;
                justify-content: space-between;
                animation: slideIn 0.3s ease, fadeOut 0.5s ease 2.5s forwards;
                cursor: pointer;
            }
            .toast.success { background-color: #28a745; }
            .toast.warning { background-color: #ffc107; color: #333; }
            .toast.error { background-color: #dc3545; }
            .toast.info { background-color: #4a6cf7; }
            .toast-close {
                background: none;
                border: none;
                color: inherit;
                font-size: 16px;
                cursor: pointer;
                margin-left: 10px;
                opacity: 0.7;
            }
            .toast-close:hover { opacity: 1; }
            @keyframes slideIn {
                from { transform: translateX(100%); opacity: 0; }
                to { transform: translateX(0); opacity: 1; }
            }
            @keyframes fadeOut {
                from { opacity: 1; }
                to { opacity: 0; }
            }
        `;
        document.head.appendChild(style);
    }
    
    // 创建toast元素
    const toast = document.createElement('div');
    toast.className = `toast ${type}`;
    toast.innerHTML = `
        ${message}
        <button class="toast-close">&times;</button>
    `;
    
    // 添加到容器
    toastContainer.appendChild(toast);
    
    // 点击关闭
    const closeBtn = toast.querySelector('.toast-close');
    closeBtn.addEventListener('click', function() {
        toast.remove();
    });
    
    // 自动移除
    setTimeout(() => {
        toast.remove();
    }, 3000);
}

/**
 * 下载分析报告
 * 此功能需要后端支持，这里只是模拟前端交互
 */
document.addEventListener('DOMContentLoaded', function() {
    const downloadBtn = document.querySelector('.analysis-actions .btn-outline');
    
    if (downloadBtn) {
        downloadBtn.addEventListener('click', function() {
            showToast('正在生成PDF报告...', 'info');
            
            // 模拟下载过程
            setTimeout(() => {
                showToast('报告已生成，正在下载', 'success');
                
                // 这里应该是后端生成PDF并返回下载链接
                // 这里只是模拟下载行为
                const link = document.createElement('a');
                link.href = '#'; // 实际项目中应该是后端返回的PDF URL
                link.download = '简历分析报告.pdf';
                link.click();
            }, 1500);
        });
    }
    
    // 编辑简历按钮
    const editBtn = document.querySelector('.analysis-actions .btn-primary');
    
    if (editBtn) {
        editBtn.addEventListener('click', function() {
            window.location.href = 'resume-editor.html';
        });
    }
});